#ifndef GUIFACTORY_H_
#define GUIFACTORY_H_

#include "irrlicht.h"


class guiComponent;

using irr::s32;

class guiFactory {
		guiFactory();
		irr::gui::IGUIEnvironment* m_Env;
		static guiFactory* s_Instance;
		irr::gui::IGUIFont* m_Font;
	public:
		static void Instantiate(irr::gui::IGUIEnvironment* env) {
			if(!s_Instance) {
				s_Instance = new guiFactory;
				s_Instance->m_Env = env;
				s_Instance->m_Font = s_Instance->m_Env->getFont("fonts/Myndraine16.xml");
			}
		}
		
		static guiFactory* Instance() {
			if(s_Instance)
				return s_Instance;
			else
				return NULL;
		}
		
		void createMe(guiComponent* inp, s32 id);
				
		virtual ~guiFactory();
};

#endif /*GUIFACTORY_H_*/
